#if !defined(__APP_MQTT_H)
#define __APP_MQTT_H

#define MQTT_ADDRESS "ws://192.168.16.26:1883"
#define MQTT_CLIENTID "b253ba38-daf6-4b37-984f-5d8fdc6a2cfa"
#define MQTT_RTG "remote_to_gateway"
#define MQTT_GTR "gateway_to_remote"
#define MQTT_QOS 1
#define MQTT_TIMEOUT 10000L

/**
 * @brief 初始化MQTT客户端
 * 
 * @return int 0: 成功, -1: 失败
 */
int app_mqtt_init(void);

/**
 * @brief 关闭MQTT客户端
 * 
 */
void app_mqtt_close(void);

/**
 * @brief 发布MQTT消息
 * 
 * @param json Json字符串
 * @return int 0: 成功, -1: 失败
 */
int app_mqtt_send(char *json);

/**
 * @brief 将接收到的数据通过注册的函数回调出去
 * 
 * @param callback 传入的回调函数
 */
void app_mqtt_registerRcvCallback(int (*callback)(char *json));

#endif // __APP_MQTT_H
